Управление автомонтированием через FreeIPA UI

Управляя рабочими станциями в домене FreeIPA администраторы могут настраивать карты монтирования централизованно. Ниже описан алгоритм работы механизма.

  • Утилита automount поддерживает извлечение информации через механизм NSS.

  • В файле /etc/auto.master по умолчанию присутствует запись +auto.master, которая указывает на то, что в главную карту должно включаться содержимое карты с именем auto.master через механизм NSS.

  • В файле /etc/nsswitch.conf в строке automount: sss в качестве источника для automount указан модуль sss, который извлекает ее путем обращения к соответствующему ответчику службы SSSD.

  • Служба SSSD извлекает из домена карты автоматического монтирования для одной конкретной локации, имя которой указано параметром ipa_automount_location в конфигурационном файле /etc/sssd/sssd.conf секции domain.

В качестве инструмента применения и автоматизации настроек автомонтирования общих ресурсов на конечных клиентских машинах используется утилита ipa-client-automount.

Далее приведены примеры настройки для использования централизованных карт монтирования общих ресурсов через FreeIPA UI.

Создание расположения (локации) автомонтирования

Расположение автомонтирования (англ. automount location) – контейнер для хранения карт монтирования. С помощью расположений (локаций) можно создать изолированные пространства имен распределенной файловой системы для разных категорий рабочих станций. Локации автомонтирования используются для того, чтобы определить для групп компьютеров разные настройки автомонтирования, а значит и разные условия доступа к общим ресурсам.

В интерфейсе FreeIPA список существующих локаций размещен в Сетевые службы → Автомонтирование (Network Services → Automount). По умолчанию в домене средствами FreeIPA создается расположение default.

../../../../_images/loclist.png

Список локаций автомонтирования

Создание новой локации осуществляется нажатием на кнопку Add. Для этого достаточно указать название новой локации.

../../../../_images/locadd.png

Создание локации testlocation

Такой сущности как «расположение автомонтирования» в утилите automount нет, это доработка со стороны FreeIPA и SSSD. Информация о локациях автомонтирования находится в LDAP в разделе cn=automount,dc=example,dc=com.

../../../../_images/locldap.png

LDAP-записи о локациях

Создание и настройка карт монтирования

Внутри расположения по умолчанию есть два списка соответствия автомонтирования. Списки соответствия также называют картами монтирования. Главным списком (картой) является auto.master, ключи этого списка будут включены в главную карту монтирования на рабочей станции пользователя. Имя auto.master является предопределенным, т.к. на рабочих станциях пользователей в главной карте /etc/auto.master по умолчанию присутствует строка +auto.master. Если вы удалите эту карту по ошибке, то ее можно создать вручную, главное – сохранить тоже самое имя для этой карты. Подробнее о картах монтирования см. automount_maps.

При нажатии на одну из локаций в списке Сетевые службы → Автомонтирование выводится список карт монтирования этой локации. Пример для вновь созданной локации testlocation:

../../../../_images/locmaps.png

Список карт монтирования в локации testlocation

Создание новой карты монтирования осуществляется нажатием на кнопку Add. Карты в интерфейсе FreeIPA могут быть двух типов – прямые и косвенные (см. automount_maps). Такое деление карт монтирования условное.

  • При добавлении «прямой» карты интерфейс FreeIPA не создаст ключ прямого монтирования «/-» в главной карте auto.master. Ссылку на новую карту необходимо будет делать вручную в той карте, в которой необходимо (в самом простом варианте – auto.master). Таким образом, через этот интерфейс можно добавить не готовые «прямые карты», а карты, на которые изначально не указывает ни один ключ.

  • При добавлении «непрямой» карты допускается использовать ключ «/-» и указать в качестве родительской карты auto.master (если оставить соответствующее поле пустым), в этом случае будет добавлена карта прямого монтирования.

Поэтому предлагается относиться к этому переключателю FreeIPA UI иначе: он позволяет создать карту без ссылок (значение «прямой») или создать карту и сделать запись ключ-значение в родительской карте (иначе – ссылку) на создаваемую карту.

../../../../_images/mapdiradd.png

Создание прямой карты монтирования testdirectmap

../../../../_images/mapdiradd2.png

Создание прямой карты монтирования testdirectmap, добавление ссылки

../../../../_images/mapindir.png

Создание непрямой карты монтирования testindirectmap на auto.master

../../../../_images/mapindir2.png

Создание непрямой карты монтирования testindirectmap на auto.master

Примечание

Создание непрямых карт монтирования через FreeIPA UI множественной вложенности в текущей версии продукта может приводить к ошибкам на уровне службы autofs при попытке найти информацию в LDAP по ссылке -fstype=autofs ldap:<mapname>.

Таким образом, рекомендуется в текущей версии продукта пользоваться прямыми картами монтирования, которые включаются в auto.master с помощью ссылки «/-».

Создание и настройка точек монтирования

Подключение общих ресурсов с файловых серверов SMB настраивается на этапе создания точек монтирования. При добавлении общей папки назначается ключ монтирования (путь к директории на клиентской машине, через которую пользователь будет получать доступ к удаленной папке), а также настройки (флаги) для запуска утилиты mount (поле mount information). После применения на клиенте утилиты ipa-client-automount для локации, содержащей карту монтирования с этой точкой монтирования, создается ловушка монтирования. При попытке пользователя открыть директорию служба autofs вызывает утилиту mount с флагами, указанными в поле mount information. Подробнее о возможных настройках см. man autofs, man automount, man mount.

Для примера создадим точку монтирования в прямой карте testdirectmap.

  • Ключ монтирования – /test. Таким образом, при применении автомонтирования удаленная папка будет доступна с клиента по пути test.

  • Настройки монтирования – -fstype=cifs,user,sec=krb5i,cruid=$UID,uid=$UID,gid=$UID ://smb01.testpool01/myfolder. Разбор настроек:

    • из -fstype=cifs будет собрано mount -t cifs;

    • опции user,sec=krb5i,cruid=$UID,uid=$UID,gid=$UID проброшено в флаг mount -o user,sec=krb5i,cruid=$UID,uid=$UID,gid=$UID;

    • ://smb01.testpool01/myfolder – путь к физической директории на файловом сервере, где smb01.testpool01 – это имя файлового сервера в локальной сети, а /myfolder – путь к директории.

Предварительно перед созданием точек монтирования на физические директории следует настроить сами физические директории через интерфейс ALD Pro (см. folder_server_configuration).

Внимание

Путь к директории указывается не относительно корня файлового сервера, а относительно настроек Samba-сервера. В этих настройках прописывается префикс-директория на файловом сервере, которая по умолчанию задается в файлах /etc/samba/smb.conf и /etc/samba/share.conf. По умолчанию общие папки создаются в /opt/samba_shares.

Создадим 2 точки монтирования на одну и ту же директорию.

../../../../_images/point1.png

Создание точки монтирования в карту testdirectmap в /test

../../../../_images/point2.png

Создание точки монтирования в карту testdirectmap в /testindir11/test

Таким образом на клиентской машине должно будет появиться 2 новых ловушки монтирования по указанным путям. В директории на файловом сервере лежит файл file и папка test.

../../../../_images/point3.png

Наполнение директории на файловом сервере

Применение настроек автомонтирования на клиентской машине

На данном этапе вся информация о картах монтирования, точках и т.п. расположена в LDAP. Данные настройки необходимо использовать на клиентской машине для того, чтобы пользователь мог получить доступ к удаленным папкам через точки монтирования. Для этого используется утилита ipa-client-automount, которая принимает флаг --location. Необходимо использовать локацию, в которой были ранее настроены точки и карты монтирования (по умолчанию это default, в случае данного примера – newloc).

Примечание

Использование утилиты вручную допускается администраторами ALD Pro для точечных решений, однако для масштабных инфраструктур на десятки или сотни клиентов рекомендуется использовать параметр ГП, о котором подробно рассказано в следующем разделе.

Если рабочая станция была ранее настроена на работу с другой локацией, сначала нужно выполнить удаление настроек, а затем присоединение к требуемой локации:

root@client01:/# ipa-client-automount --uninstall
Restoring configuration
root@client01:/# ipa-client-automount --location newloc
Searching for IPA server...
IPA server: DNS discovery
Location: newloc
Continue to configure the system with these values? [no]: yew
Configured /etc/default/nfs-common
Configured /etc/idmapd.conf
Restarting sssd, waiting for it to become available.
Started autofs

Служба autofs будет автоматически перезапущена, поэтому на каталоги будут установлены ловушки монтирования:

root@client01:/# findmnt
TARGET                       SOURCE        FSTYPE     OPTIONS
...
├─/testindir11/test          testindirect  autofs     rw,relatime,fd=6,pgrp=5999,timeout=300,minproto=5,maxproto=5,direct,pipe_ino=73026
├─/test_point                testdirectmap autofs     rw,relatime,fd=6,pgrp=5999,timeout=300,minproto=5,maxproto=5,direct,pipe_ino=73026

Теперь при попытке получить доступ к содержимому директории /test_point произойдет запуск утилиты mount (о чем будет запись в /var/log/syslog). В качестве credentials будут использованы UID и TGT-билет того пользователя, под которым залогинился пользователь. Например пользователь root c $UID = 0 не получит доступ к содержимому директории, поскольку на него не выписан Kerberos-билет, а также на smb файловом сервере его нет в списке допущенных к содержимому папки:

root@client01:/# cd test_point/
bash: cd: test_point/: Нет такого файла или каталога
../../../../_images/smbdir1.png

Настройки доступов папки на файловом сервере

В списке допущенных есть только пользователь admin, который действительно может получить доступ к папке согласно настройкам доступов папки, заданным ранее в ALD Pro.

admin@client01:/$ cd test_point/
admin@client01:/test_point$ ls -la
итого 4
drwxr-xr-x  2 admin admins    0 июл  1 09:24 .
drwxr-xr-x 27 root  root   4096 июл  1 09:23 ..
-rwxr-xr-x  1 admin admins    0 июл  1 09:23 file
drwxr-xr-x  2 admin admins    0 июл  1 09:24 test

Параметр групповой политики «Служба автомонтирования»

С версии 3.0 ALD Pro в официальной комплектации продукта появляется параметр компьютера Служба автомонтирования для групповых политик. Параметр позволяет настроить автомонтирование общих Samba-папок на клиентской рабочей станции Astra Linux. Базовая задача параметра – запустить ipa-client-automount --location <LOC>.

Основные сценарии использования параметра –- применение и сброс локации автомонтирования для подразделений, содержащих компьютеры. При применении локации на каждый компьютер подразделения применяются ловушки монтирования, ведущие к директориям на файловых серверах. Доступ к содержимому папок осуществляется исходя из разрешений, выданных shared-директориям на пользователей или группы пользователей. Все пользователи видят ловушки монтирования на клиентской машине, но доступ пользователя к каждой папке, скрывающейся за ловушкой, проверяется отдельно.

Локация хранится в конфигурационном файле настроек sssd (/etc/sssd/sssd.conf) в ключе ipa_automount_location. Для проверки корректности настройки автомонтирования в терминале можно воспользоваться командой findmnt -t autofs, которая отображает все точки монтирования в системе. В списке также находятся ловушки монтирования, которые настроены в картах монтирования выбранной ранее локации.

Тип параметра – простой.

Поле Локация содержит название локации автомонтирования. Название локации задается при ее создании одим из способов.

  • Через портал управления FreeIPA (Сетевые службыАвтомонтированиеРасположение автомонтирования). Подробнее о том, как использовать FreeIPA для настройки автомонтирования см. automount_freeipa_comfiguration.

  • С помощью утилиты ipa. Подробнее об этом способе можно узнать, введя в терминале запущенного контроллера домена команду ipa help automount.

Поле Разрешено использование включает работу с указанной локацией. Допускается установка в поле одного из следующих значений:

  • true – Включить автомонтирование и применить локацию (по умолчанию);

  • false – Выключить автомотирование и отключить локацию.

Отключение параметра (перевод атрибута Состояние в состояние Выключено) не приведет к отключению автомонтирования в системе. Для фактического выключения локации необходимо оставить параметр активным, при этом для локации установить атрибут Разрешено использование в значение false (systemd-процесс autofs отключен).

Важно обратить внимание, что при удалении локации, которая используется в объекте групповой политики, содержащем параметр Служба автомонтирования, через портал управления ALD Pro* или 389ds, локации, ловушки и все прочие настройки автомонтирования на компьютерах подразделения сброшены не будут.

Применение данного параметра групповой политики подчиняется стандартным механизмам групповых политик (см. Руководство Администратора. Часть 2). Для конфигурации, созданной ранее (см. automount_client_machine), создается групповая политика с параметром Служба Автомонтирования и соответствующими аргументами.

../../../../_images/automount_gp.png

Настройки параметра ГП

При нажатии на кнопку Применить групповая политика сохраняется, и на связанных с подразделением клиентах она будет применена по таймеру. Можно воспользоваться форсированным применением групповых политик на конкретной машине с помощью команды aldpro-gpupdate --gp. В результате на клиенте будет применена та локация, которая была указана на портале управления в параметре Локация:

root@client01:/home/admin# findmnt -t autofs
TARGET                   SOURCE      FSTYPE OPTIONS
/proc/sys/fs/binfmt_misc systemd-1   autofs rw,relatime,fd=30,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=1387
/myfolderkey             auto.direct autofs rw,relatime,fd=6,pgrp=213686,timeout=300,minproto=5,maxproto=5,direct,pipe_ino=816641
/myffffff                auto.direct autofs rw,relatime,fd=6,pgrp=213686,timeout=300,minproto=5,maxproto=5,direct,pipe_ino=816641
root@client01:/home/admin# aldpro-gpupdate --gp
Форсированное применение групповых политик
...
root@client01:/home/admin# findmnt -t autofs
TARGET                   SOURCE        FSTYPE OPTIONS
/proc/sys/fs/binfmt_misc systemd-1     autofs rw,relatime,fd=30,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=1387
/testindir11/test        testindirect  autofs rw,relatime,fd=6,pgrp=213936,timeout=300,minproto=5,maxproto=5,direct,pipe_ino=819129
/test_point              testdirectmap autofs rw,relatime,fd=6,pgrp=213936,timeout=300,minproto=5,maxproto=5,direct,pipe_ino=819129